﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BLLTZS;
using BLLTZS.Funcionalidad;

namespace TZS.Ofertas
{
    public partial class VerOferta : FormGenerico
    {
        public int IdOferta 
        {
            get { return int.Parse(Request.QueryString["id"]); }
        }


        private void CargarOferta()
        {
            TZS_Oferta oferta = new BLLOferta().Traer(IdOferta);

            lblTituloOferta.Text = oferta.Titulo;
            lblAmbito.Text = ((Ambitos)oferta.Ambito).ToString();
            lblArea.Text = oferta.TZS_Area.Nombre;
            lblEmpresa.Text = oferta.TZS_Oferente.Nombre;
            lblPuesto.Text = oferta.TZS_TipoPuesto.Nombre;
            lblLocalidad.Text = oferta.TZS_Localidad.Nombre;
            ltDescripcion.Text = oferta.Descripcion;
            imgLofoOferente.ImageUrl = string.Format("{0}{1}", Bumeran, oferta.TZS_Oferente.Logo);
            SetearVisibilidad(lblOfertaPendiente, oferta.Orden == null);
        }

        private void ChequearFavorito()
        {
            LinkButton lnkFavoritoEstado = lvFavorito.FindControl("lnkFavoritoEstado") as LinkButton;
            Image imgFavoritoEstado = lvFavorito.FindControl("imgFavoritoEstado") as Image;

            if (new BLLFavorito().EsFavorito(IdOferta, User.Identity.Name))
            {
                lnkFavoritoEstado.Text = "Quitar de favoritos";
                imgFavoritoEstado.ImageUrl = "/Contenido/Imagenes/EstrellaAmarillita.png";
            }
            else
            {
                lnkFavoritoEstado.Text = "Agregar a favoritos";
                imgFavoritoEstado.ImageUrl = "/Contenido/Imagenes/EstrellaNegritaChupaPi.png";
            }
        }

        private void VerSiguiente()
        {
            int? idOferta = new BLLOferta().TraerSiguientePendiente(IdOferta);

            if (idOferta == null)
                Response.Redirect("~/Default.aspx");
            else
                Response.Redirect("~/Ofertas/VerOferta.aspx?ID=" + idOferta.ToString());
        }


        protected void Page_Load(object sender, EventArgs e)
        {
            SetearVisibilidad(lblOfertaPendiente, false);
            CargarOferta();

            if (!IsPostBack && User.Identity.IsAuthenticated)
                ChequearFavorito();
        }

        protected void lnkFavoritoEstado_Click(object sender, EventArgs e)
        {
            LinkButton lnkFavoritoEstado = sender as LinkButton;
            Image imgFavoritoEstado = lnkFavoritoEstado.Parent.FindControl("imgFavoritoEstado") as Image;
            BLLFavorito bll = new BLLFavorito();

            if (lnkFavoritoEstado.Text.Equals("Quitar de favoritos"))
            {
                lnkFavoritoEstado.Text = "Agregar a favoritos";
                imgFavoritoEstado.ImageUrl = "/Contenido/Imagenes/EstrellaNegritaChupaPi.png";
                bll.RemoverFavorito(IdOferta, User.Identity.Name);
            }
            else
            {
                lnkFavoritoEstado.Text = "Quitar de favoritos";
                imgFavoritoEstado.ImageUrl = "/Contenido/Imagenes/EstrellaAmarillita.png";
                bll.AgregarFavorito(IdOferta, User.Identity.Name);
            }
            bll.GuardarCambios();
        }

        protected void btnPostularmeAbajo_Click(object sender, EventArgs e)
        {
            Response.Redirect("Postularme.aspx?ID=" + IdOferta);
        }

        protected void btnEditarOferta_Click(object sender, EventArgs e)
        {
            Response.Redirect("EditarOferta.aspx?ID=" + IdOferta);
        }

        protected void btnVerSiguientePendiente_Click(object sender, EventArgs e)
        {
            VerSiguiente();
        }

        protected void btnAprobarSiguiente_Click(object sender, EventArgs e)
        {
            BLLOferta bll = new BLLOferta();
            bll.Aprobar(IdOferta);
            bll.GuardarCambios();
            VerSiguiente();
        }
    }
}